<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      "use strict";
      function say(a, b) {
        console.log("hello", a + b, this);
      }
      say(1, 2);
      /*
        1. 调用执行函数  say();
        2. 设置this参数（第一个参数）
        3. call/设置其他参数（第二个参数开始）
        4. apply/设置其他参数（第二个数组参数）
        5. this值约定只能设置为对象或者null
      */
      say.call(null, 2, 3);
      say.apply({ a: 1 }, [4, 5]);
    </script>
  </body>
</html>
